package pe.gob.onpe.ejb;

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import pe.gob.onpe.ejb.id.PadronElectoralSolicitanteId;


/**
 * PadronElectoralSolicitante entity.
 * 
 * @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "PADRON_ELECTORAL_SOLICITANTE", schema = "SVENP", uniqueConstraints = {})
public class PadronElectoralSolicitante implements java.io.Serializable {

	// Fields
	private PadronElectoralSolicitanteId id;
	private ProcesoElectoral procesoElectoral;
	private String nombre;
	private String apellidopaterno;
	private String apellidomaterno;
	private String idinconsistencia;
	private String estadoinconsistencia;
	private String descripcioninconsistencia;

	private static final long serialVersionUID = -7364298893281739007L;

	// Constructors

	/** default constructor */
	public PadronElectoralSolicitante() {
	}

	/** minimal constructor */
	public PadronElectoralSolicitante(PadronElectoralSolicitanteId id,
			ProcesoElectoral procesoElectoral, String nombre) {
		this.id = id;
		this.procesoElectoral = procesoElectoral;
		this.nombre = nombre;
	}

	/** full constructor */
	public PadronElectoralSolicitante(PadronElectoralSolicitanteId id,
			ProcesoElectoral procesoElectoral, String nombre,
			String apellidopaterno, String apellidomaterno,
			String idinconsistencia, String estadoinconsistencia,
			String descripcioninconsistencia) {
		this.id = id;
		this.procesoElectoral = procesoElectoral;
		this.nombre = nombre;
		this.apellidopaterno = apellidopaterno;
		this.apellidomaterno = apellidomaterno;
		this.idinconsistencia = idinconsistencia;
		this.estadoinconsistencia = estadoinconsistencia;
		this.descripcioninconsistencia = descripcioninconsistencia;
	}

	// Property accessors
	@EmbeddedId
	@AttributeOverrides( {
			@AttributeOverride(name = "procesoElectoralId", column = @Column(name = "PROCESO_ELECTORAL_ID", unique = false, nullable = false, insertable = true, updatable = true, precision = 10, scale = 0)),
			@AttributeOverride(name = "numerodocumento", column = @Column(name = "NUMERODOCUMENTO", unique = false, nullable = false, insertable = true, updatable = true)) })
	public PadronElectoralSolicitanteId getId() {
		return this.id;
	}

	public void setId(PadronElectoralSolicitanteId id) {
		this.id = id;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "PROCESO_ELECTORAL_ID", unique = false, nullable = false, insertable = false, updatable = false)
	public ProcesoElectoral getProcesoElectoral() {
		return this.procesoElectoral;
	}

	public void setProcesoElectoral(ProcesoElectoral procesoElectoral) {
		this.procesoElectoral = procesoElectoral;
	}

	@Column(name = "NOMBRE", unique = false, nullable = false, insertable = true, updatable = true)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "APELLIDOPATERNO", unique = false, nullable = true, insertable = true, updatable = true)
	public String getApellidopaterno() {
		return this.apellidopaterno;
	}

	public void setApellidopaterno(String apellidopaterno) {
		this.apellidopaterno = apellidopaterno;
	}

	@Column(name = "APELLIDOMATERNO", unique = false, nullable = true, insertable = true, updatable = true)
	public String getApellidomaterno() {
		return this.apellidomaterno;
	}

	public void setApellidomaterno(String apellidomaterno) {
		this.apellidomaterno = apellidomaterno;
	}

	@Column(name = "IDINCONSISTENCIA", unique = false, nullable = true, insertable = true, updatable = true)
	public String getIdinconsistencia() {
		return this.idinconsistencia;
	}

	public void setIdinconsistencia(String idinconsistencia) {
		this.idinconsistencia = idinconsistencia;
	}

	@Column(name = "ESTADOINCONSISTENCIA", unique = false, nullable = true, insertable = true, updatable = true)
	public String getEstadoinconsistencia() {
		return this.estadoinconsistencia;
	}

	public void setEstadoinconsistencia(String estadoinconsistencia) {
		this.estadoinconsistencia = estadoinconsistencia;
	}

	@Column(name = "DESCRIPCIONINCONSISTENCIA", unique = false, nullable = true, insertable = true, updatable = true)
	public String getDescripcioninconsistencia() {
		return this.descripcioninconsistencia;
	}

	public void setDescripcioninconsistencia(String descripcioninconsistencia) {
		this.descripcioninconsistencia = descripcioninconsistencia;
	}

}